package LeetCode;
//存在一个按升序排列的链表，给你这个链表的头节点 head ，
// 请你删除链表中所有存在数字重复情况的节点，只保留原始链表中 没有重复出现 的数字。
//返回同样按升序排列的结果链表。
public class Num82 {
    public ListNode deleteDuplicates(ListNode head) {
        ListNode dummyHead = new ListNode(101);
        dummyHead.next = head;
        ListNode prev = dummyHead;
        ListNode cur = prev.next;
        while (cur != null) {
            ListNode next = cur.next;
//            当链表中只有一个节点
            if (next == null) {
                return dummyHead.next;
            }
//            链表中至少有两个节点
            else {
                if (cur.val == next.val) {
                    while (next != null && cur.val == next.val) {
                        next = next.next;
                    }
                    prev.next = next;
                    cur = next;
                }
//                当cur.val ！= next.val时
                else {
                    prev = prev.next;
                    cur = cur.next;

                }
            }
        }
        return dummyHead.next;
    }
}
